#ifndef INVENTORY_HH_
# 	define INVENTORY_HH_

#	include "items/Item.hh"
# 	include "items/inventory/Storage.hh"

// shd be abstract ?

class Inventory : public Item
{
public:
  void show();

  /** add something in the storage
   ** override for every storage (add to helmet != backpack)
   ** plays annimation (open)
   */
  virtual void add() = 0;

  /** storage content check
   ** plays open annimation
   */
  virtual void check() = 0;


private:
  std::vector<Storage> content;
  unsigned int _capacityCC; /// in Centimeters Cube
  unsigned int _capacityKG; /// in kg

  // __________ Annimations __________
	//  Animation _annimGet;
	//  Animation _annimCheck;
	//  Animation _annimOpen;
	//  Animation _annimClose; // play open in reverse mode ?
	//  Animation _annimDrop; /// drop whole inventory
	//  Animation _annimDropItem; /// drop an item

  float _resistance; // set durability accordingly
  int _durability; // calc from resistance
  unsigned int _fixable; /// how many times can we fix it ? // cost: nb damages points ? nb times
};

#endif /* !INVENTORY_HH_ */
